<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:p="http://primefaces.org/ui"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:gpc="http://java.sun.com/jsf/composite/gpc_comp"
                template="./../WEB-INF/template/templateAdmin.xhtml">

    <ui:define name="content">
        <h:form id="detalle">
            <p:outputLabel value="#{adminDetalleCursoBean.curso.nombre} - #{adminDetalleCursoBean.curso.idCurso}" styleClass="titulo" />
            <p:panelGrid columns="2">  

                <p:outputLabel value="#{label['fecha_inicio']}"/>
                <p:outputLabel id="fechaini" value="#{adminDetalleCursoBean.curso.fechaInicio}"/>

                <p:outputLabel value="#{label['fecha_finalizacion']}"/>
                <p:outputLabel id="fechafin" value="#{adminDetalleCursoBean.curso.fechaFinalizacion}" />

                <p:outputLabel value="#{label['descripcion']}"/>
                <p:outputLabel id="descripcion" value="#{adminDetalleCursoBean.curso.descripcion}"/>

                <p:outputLabel value="#{label['profesor']}"/>
                <p:outputLabel id="idProfesor" value="#{adminDetalleCursoBean.curso.profesor.nombreUsuario} - #{adminDetalleCursoBean.curso.profesor.nombre}"/> 

                <f:facet name="footer">  
                    <p:commandButton value="#{label['editar']}" icon="ui-icon-pencil" style="margin:0" oncomplete="editDialog.show();" update=":#{p:component('editDialog')}"/>  
                </f:facet> 
            </p:panelGrid> 
<br />
            <p:dataTable id="estudiantesCurso" emptyMessage="No existen registros de estudiantes en este curso." var="estudiante" value="#{adminDetalleCursoBean.curso.cursosestudiantesList}">  
                <f:facet name="header" >
                    #{label['lista_estudiante']}
                </f:facet>

                <p:column headerText="#{label['codigo']}">  
                    <h:outputText value="#{estudiante.usuarios.nombreUsuario}" />  
                </p:column>  

                <p:column headerText="#{label['nombre']}">  
                    <h:outputText value="#{estudiante.usuarios.nombre}" />  
                </p:column> 

                <p:column >  
                    <p:commandButton value="#{label['sacar']}" 
                                     icon="ui-icon-closethick" style="margin:0" 
                                     action="#{adminDetalleCursoBean.SacarEstudiante(estudiante.usuarios.nombreUsuario)}" 
                                     update=":#{p:component('estudiantesNoCurso')} :#{p:component('estudiantesCurso')}"/>   
                </p:column>

                <f:facet name="footer">  
                    <p:commandButton value="#{label['agregar']}" 
                                     icon="ui-icon-plusthick" style="margin:0" 
                                     oncomplete="addEstudianteDialog.show();" 
                                     update=":#{p:component('addEstudianteDialog')}"/>  
                </f:facet>
            </p:dataTable>
        </h:form>
        
        <h:form>
            <p:dialog id="editDialog" header="#{label['editar_curso']}" widgetVar="editDialog"> 
                <p:panelGrid id="editForm" columns="2">
                    <p:outputLabel value="#{label['nombre']}"/>
                    <p:inputText value="#{adminDetalleCursoBean.cursoEdit.nombre}"/>

                    <p:outputLabel value="#{label['fecha_inicio']}"/>
                    <p:calendar id="fechainiedit" value="#{adminDetalleCursoBean.cursoEdit.fechaInicio}" mindate="#{adminDetalleCursoBean.fechaActual}">
                        <p:ajax event="dateSelect" listener="#{adminDetalleCursoBean.handleDateSelect}" update="fechainiedit fechafinedit" /> 
                    </p:calendar>

                    <p:outputLabel value="#{label['fecha_finalizacion']}"/>
                    <p:calendar id="fechafinedit" value="#{adminDetalleCursoBean.cursoEdit.fechaFinalizacion}" mindate="#{adminDetalleCursoBean.fechaMesDespuesFechaInicial}" >
                        <p:ajax event="dateSelect" update="fechainiedit fechafinedit" /> 
                    </p:calendar>

                    <p:outputLabel value="#{label['descripcion']}"/>
                    <p:inputTextarea value="#{adminDetalleCursoBean.cursoEdit.descripcion}"/>

                    <p:outputLabel value="#{label['profesor']}"/>
                    <p:inputText value="#{adminDetalleCursoBean.cursoEdit.profesor.nombreUsuario}"/>

                    <f:facet name="footer">
                        <p:commandButton value="#{label['editar']}" process=":#{p:component('editForm')}"
                                         action="#{adminDetalleCursoBean.Actualizarcurso()}" update=":#{p:component('detalle')}" 
                                         oncomplete="editDialog.hide();" />
                        <p:commandButton value="#{label['cancelar']}" oncomplete="editDialog.hide();"/>
                    </f:facet>
                </p:panelGrid>
            </p:dialog> 
        </h:form>
        <h:form>
            <p:dialog id="addEstudianteDialog" header="#{label['agregar_estudiante']}" widgetVar="addEstudianteDialog">
                <p:dataTable id="estudiantesNoCurso" var="estudiante" value="#{adminDetalleCursoBean.listaEstudiantesNoCurso}">  
                    <f:facet name="header" >
                        #{label['lista_estudiante']}
                    </f:facet>

                    <p:column headerText="#{label['codigo']}">  
                        <h:outputText value="#{estudiante.nombreUsuario}" />  
                    </p:column>  

                    <p:column headerText="#{label['nombre']}">  
                        <h:outputText value="#{estudiante.nombre}" />  
                    </p:column>  

                    <p:column >  
                        <p:commandButton value="#{label['agregar']}" icon="ui-icon-plusthick" style="margin:0" 
                                         action="#{adminDetalleCursoBean.AgregarEstudiante(estudiante.nombreUsuario)}" 
                                         update=":#{p:component('estudiantesNoCurso')} :#{p:component('estudiantesCurso')}"/>  
                    </p:column> 
                </p:dataTable>
            </p:dialog>
        </h:form>
        
    </ui:define>            
</ui:composition>

